Modern telecommunications networks typically comprise complicated, interconnected networks of nodes and links. Network providers strive to provide service to their customers both during normal operations and during situations when the network is damaged, either moderately or severely. In order to insure that service can be provided in situations when a network is damaged, providers may use modeling algorithms to analyze various possible failure scenarios. Because networks with large numbers of components may have a significantly larger number of failure scenarios, such modeling algorithms should be as simple as possible in order for them to execute quickly and thus be able to model complicated systems in a reasonable amount of time.